//
//  SYMainTabBarController.swift
//  仿微博
//
//  Created by a。 on 16/9/19.
//  Copyright © 2016年 a。. All rights reserved.
//

import UIKit

class SYMainTabBarController: UITabBarController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        
        
        //应为创建出来的加号按钮是tabbar私有的 只能通过kvc的模式去给私有属性赋值
        
//        self.tabBar = SYTabBar()
        
        
        let syTabbar = SYTabBar()
        //设置代理属性
        //在最下面通过设置本来的分离来实现代理方法
        syTabbar.syDelegate = self
        setValue(syTabbar, forKey: "tabBar")
        
        syTabbar.composeButtonClosure = { [weak self] in
            
            print("闭包方法")
        }
        
        
        
        
        //MARK: ----添加子视图控制器
        addChildViewController(childController:SYHomeTableViewController(), title:"首页", imageName: "tabbar_home")
        addChildViewController(childController: SYMessageTableViewController(), title: "消息", imageName: "tabbar_message_center")
        
        addChildViewController(childController: SYDiscoverTableViewController(), title: "发现", imageName: "tabbar_discover")
        addChildViewController(childController: SYProfileTableViewController(), title: "我的", imageName: "tabbar_profile")
    }
    
    
    
    //MARK:  ---添加子视图控制器的方法重载
    func addChildViewController(childController: UIViewController , title: String , imageName: String ) {
        
        childController.title = title
        
        childController.tabBarItem.image = UIImage.init(named: imageName)
        
        childController.tabBarItem.selectedImage = UIImage.init(named:"\(imageName)_selected")?.withRenderingMode(.alwaysOriginal)
        //MARK: 设置字体的大小
//        childController.tabBarItem.setTitleTextAttributes([NSFontAttributeName :UIFont.systemFont(ofSize: 14)], for: .normal)
//        //MARK: 设置字体的颜色
//        childController.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orange], for: .selected)
        
        //MARK:  创建导航视图控制器
        let nav = SYNavigationViewController(rootViewController: childController)
        
        addChildViewController(nav)
        
        //  设置tintColor -> 统一设置tabbar的选中颜色
        //  越早执行越好,一般会Appdelegate里面
        //UITabBar.appearance().tintColor = UIColor.orange
        
    }
    
}

extension SYMainTabBarController :SYTabBarDelegate{
    
    func didSelectedComposeButton() {
        print("我是代理对象方法")
    }
    
}
